package gestion.horarios.model.jpa.entities;

import java.io.Serializable;
import javax.persistence.*;
import java.util.List;


/**
 * The persistent class for the carrera database table.
 * 
 */
@Entity
@Table(name="carrera")
public class Carrera implements Serializable {
	private static final long serialVersionUID = 1L;
	private int carreraId;
	private String codigo;
	private String estado;
	private String mision;
	private byte niveles;
	private String nombre;
	private String nroResolucionMinisterial;
	private String titulo;
	private Escuela escuela;
	private List<CarrerasSede> carrerassedes;
	private List<NivelesCarrera> nivelescarreras;
	private List<PerfilEgresado> perfilegresados;
	private List<Proyeccion> proyeccions;
	private List<VigenciaPlanCurricular> vigenciaplancurriculars;

    public Carrera() {
    }


	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	@Column(unique=true, nullable=false)
	public int getCarreraId() {
		return this.carreraId;
	}

	public void setCarreraId(int carreraId) {
		this.carreraId = carreraId;
	}


	@Column(length=45)
	public String getCodigo() {
		return this.codigo;
	}

	public void setCodigo(String codigo) {
		this.codigo = codigo;
	}


	@Column(length=45)
	public String getEstado() {
		return this.estado;
	}

	public void setEstado(String estado) {
		this.estado = estado;
	}


	@Column(length=255)
	public String getMision() {
		return this.mision;
	}

	public void setMision(String mision) {
		this.mision = mision;
	}


	public byte getNiveles() {
		return this.niveles;
	}

	public void setNiveles(byte niveles) {
		this.niveles = niveles;
	}


	@Column(length=45)
	public String getNombre() {
		return this.nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}


	@Column(length=45)
	public String getNroResolucionMinisterial() {
		return this.nroResolucionMinisterial;
	}

	public void setNroResolucionMinisterial(String nroResolucionMinisterial) {
		this.nroResolucionMinisterial = nroResolucionMinisterial;
	}


	@Column(length=45)
	public String getTitulo() {
		return this.titulo;
	}

	public void setTitulo(String titulo) {
		this.titulo = titulo;
	}


	//bi-directional many-to-one association to Escuela
    @ManyToOne
	@JoinColumn(name="EscuelaId", nullable=false)
	public Escuela getEscuela() {
		return this.escuela;
	}

	public void setEscuela(Escuela escuela) {
		this.escuela = escuela;
	}
	

	//bi-directional many-to-one association to CarrerasSede
	@OneToMany(mappedBy="carrera")
	public List<CarrerasSede> getCarrerassedes() {
		return this.carrerassedes;
	}

	public void setCarrerassedes(List<CarrerasSede> carrerassedes) {
		this.carrerassedes = carrerassedes;
	}
	

	//bi-directional many-to-one association to NivelesCarrera
	@OneToMany(mappedBy="carrera")
	public List<NivelesCarrera> getNivelescarreras() {
		return this.nivelescarreras;
	}

	public void setNivelescarreras(List<NivelesCarrera> nivelescarreras) {
		this.nivelescarreras = nivelescarreras;
	}
	

	//bi-directional many-to-one association to PerfilEgresado
	@OneToMany(mappedBy="carrera")
	public List<PerfilEgresado> getPerfilegresados() {
		return this.perfilegresados;
	}

	public void setPerfilegresados(List<PerfilEgresado> perfilegresados) {
		this.perfilegresados = perfilegresados;
	}
	

	//bi-directional many-to-one association to Proyeccion
	@OneToMany(mappedBy="carrera")
	public List<Proyeccion> getProyeccions() {
		return this.proyeccions;
	}

	public void setProyeccions(List<Proyeccion> proyeccions) {
		this.proyeccions = proyeccions;
	}
	

	//bi-directional many-to-one association to VigenciaPlanCurricular
	@OneToMany(mappedBy="carrera")
	public List<VigenciaPlanCurricular> getVigenciaplancurriculars() {
		return this.vigenciaplancurriculars;
	}

	public void setVigenciaplancurriculars(List<VigenciaPlanCurricular> vigenciaplancurriculars) {
		this.vigenciaplancurriculars = vigenciaplancurriculars;
	}
	
}